package com.kwt.learn.string;

/**
 * String的两种初始化方式
 */

public class String02 {
    public static void main(String[] args) throws Exception {
        //1.直接从常量池中创建字符串对象
        String a = "nihao";
        //2.先检查常量池中有没有字符串“nihao”,如果有了，则在堆中创建对象，对象指向常量池，将对象指向栈帧中的对象引用
        String b = new String("nihao");
        System.out.println(System.identityHashCode(a)); //1627800613 常量池中对象地址
        System.out.println(System.identityHashCode(b)); //2065530879 堆中对象地址
        System.out.println(System.identityHashCode(b.intern())); //1627800613 常量池中对象地址
    }
}